Diese Dokumentation ist noch nicht fertiggestellt. Bitte hilf mit und trage etwas zur Dokumentation bei.
Die Seite GuiBefehl Modell erklärt, wie Befehle dokumentiert werden sollten. Unter Category:UnfinishedDocu findest du weitere unvollständige Seiten wie diese (und unter Category:UnfinishedDocu/de unvollständige Übersetzungen). Siehe Category:Command Reference für sämtliche Befehle (und Category:UnfinishedDocu/de für vorhandene Übersetzungen).
Siehe WikiSeiten, um zu lernen, wie die Wiki-Seiten bearbeitet werden und FreeCAD Unterstützen, um andere Wege zu entdecken, wie du einen Beitrag leisten kannst.
Ich denke der Arbeitsbereich Sketcher kann einige Beispiele gebrauchen, die nicht so detailliert sind wie Anleitungen oder Videos...
Ein Filmscharnier ist ein winziges Stück biegsamer Kunststoff, das die beiden Seiten eines Spritzgussobjekts, wie z.B. einen Kabelkanal mit einem Deckel oder die beiden Hälften einer Staubschutzkappe für einen Stecker.
Dieses Beispiel verwendet eine Art Master-Skizze, um darauf einige abhängige Skizzen aufzusetzen. Es zeigt auch, wie ein einfacher Klipp angefügt und animiert wird, der auf PartDesign-Formelementen und
Sketcher-Randbedingungen basiert. Die Verwendung von
Ausdrücken, wie unten beschrieben, erfordert FreeCAD ab Version 0.21.
Normalerweise wird ein Objekt in geschlossenem Zustand konstruiert. Später wird der bewegliche Teil um 180° umgeklappt, um in offenem Zustand gespritzt zu werden.
Der biegsame Streifen wird im geschlossenen Zustand durch einen Kreisbogen dargestellt und im offenen Zustand durch eine gerade Linie; beide gehen vom gleichen Startpunkt aus.
Der Mittelpunkt der Linie, die beide Endpunkte verbindet, gibt die Lage der Achse an, um die geklappt wird, die normal auf der Skizzenebene steht. (Der Punkt wird im Skizzenursprung positioniert, so dass die globale Achse, die normal auf der Skizzen steht, als Achse zum Umklappen genutzt werden kann)
(Einige ausgeblendete zusätzliche Erklärungen und eine Beschreibung des Arbeitsablaufs können da drüben ausgeklappt werden -->
Master-Skizze und das animierte fertige Filmscharnier (Ein Klick auf das Bild, um die Animation anzusehen, falls sie nach einigen Wiederholungen gestoppt haben sollte)
Für einen Halbkreis ergibt sich die Bogenlänge aus dem Radius multipliziert mit Pi (l = r * Pi). Der Radius wird mit NeutralerRadius benannt und die Linie mit GestreckteLänge. Ein Ausdruck (expression) für die GestreckteLänge verbindet beide Werte: .Constraints.NeutralerRadius * pi
.
gefolgt von ArtDesWertes.NameDesWertes (ValueType.ValueName), um einen weiteren Wert zu adressieren.
Der Bogen dieses Filmscharniers hat eine konstante Länge und einen variablen Radius. Eine Eingangsgröße ist NeutralerRadius der Basis-Skizze; um ihn in der Skizze zur Hand zu haben, wird er als externe Geometrie eingebunden und erhält das mit ReferenzRadius benannte anzeigende Maß (reference dimension).
Ein Tortenstück aus Hilfsgeometrie zeigt die Verbindung zwischen dem Bogen und dem Radius für einen gegebenen Winkel.
EingangsLänge = ReferenzRadius * Pi
und
BogenLänge = DynamischerRadius * Pi * BogenWinkel / 180°
mit konstanter Länge ergibt sich:
ReferenzRadius * Pi = DynamischerRadius * Pi * BogenWinkel / 180°
Und mit herausgekürztem Pi erhalten wir:
ReferenzRadius = DynamischerRadius * BogenWinkel / 180° oder DynamischerRadius = ReferenzRadius * 180° / BogenWinkel
.Constraints.ReferenzRadius * 180 ° / .Constraints.BogenWinkel
Ein Filmscharnier ist meistens symmetrisch, daher wird ein weiterer Bogen mit demselben Mittelpunkt, genannt HalbBogen, als Ergebniselement verwendet und stellt eine Hälfte des Scharnierbogens dar.
.Constraints.BogenWinkel / 2
Die Zwischenskizze zeigt die Strecke DynamischerRadius des Filmscharniers mit 4 (mm) bei einem gegebenen Winkel von 45° (und den halben Winkel als Ausgabeelement)
Diese Skizze legt die Wandstärke und die angrenzende Geometrie des Filmschrniers fest. Dazu laden wir den halben Bogen der Zwischenskizze als externe Geometrie hinzu, um ihn als Basis für den Filmanteil zu verwenden. (ein Bruchteil von 180° in diesem Falle)
Dieses Filmscharnier ist so ausgelegt, dass sich die damit verbundenen Teile berühren, wenn das Objekt geschlossen ist. Dies kann erreicht werden durch das Berechnen eines Kreisbogens mit der erforderlichen Länge, dann das Erstellen eines Streifens mit konstanter Wandstärke und schließlich durch das Verrunden der Übergänge zwischen dem Streifen und den beiden Objekthälften. Der letzte Schritt verkürzt zwar die entstehende Schlaufe, aber in der Realität spielt dies keine Rolle, da der Bogen nie ganz kreisförmig sein wird, so hat die Verrundung zwar einen Einfluss auf den Krümmungsverlauf der Schlaufe, aber keinen Einfluss auf ihre Funktion.
Die Scharnierskizze zeigt den Umriss des Scharniers basierend auf der externen Geometrie des halben Bogens aus der Zwischenskizze
Links: Das extrudierte halbe Scharnier mit sichtbarer Skizze. Rechts: Das halbe Scharnier mit hinzugefügter
Verrundung
Das halbe Scharnier mit ausgewählter Spiegelebene → gespiegeltes Filmscharnier
Hinweis: Part Spiegeln akzeptiert nur die drei Basis-Ebenen und kann dadurch in so einem Falle nicht verwendet werden.
Letztendlich legen zwei Parameter die Größe des Filmscharniers fest:
Der Biegewinkel wird durch die Randbedingung BogenWinkel der Zwischenskizze gesteuert und kann in ihrem Einstellungseditor geändert werden.
Aber wir sind ja richtige Konstrukteure und haben unsere Skizzen, Randbedingungen und Maße sinnvoll benannt und können daher den steuernden Winkel über Python ansprechen.
Einige grundlegende Codezeilen zum Einbetten in einer Benutzerschnittstelle könnten so aussehen:
doc=App.ActiveDocument
sketch=doc.getObjectsByLabel('IntermediateSketch')[0]
...
sketch.getDatum('ArcAngle')
...
sketch.setDatum('ArcAngle',App.Units.Quantity('50.000000 deg'))
doc.recompute(None,True,True)
Eine kurze Erklärung:
doc = App.ActiveDocument
: Zum Ansprechen des aktiven Dokuments mit einem Alias namens docsketch = doc.getObjectsByLabel('IntermediateSketch')[0]
: Zum Ansprechen der relevanten Skizze mit dem Alias sketch.
0
anhängen, um das erste Element der Liste auszuwählen. (Wir erwarten nicht, dass ein anderes Objekt dieselbe Benennung aufweist und müssen uns daher nicht um andere Elemente in der Liste kümmern.)sketch.getDatum('ArcAngle')
: Gibt den aktuellen Wert der maßlichen Randbedingung ArcAngle (BogenWinkel) zurück (an das Ausgabefenster)sketch.setDatum('ArcAngle', App.Units.Quantity('50.0 deg'))
: Setzt den Wert von ArcAngle auf 50°
doc.recompute(None,True,True)
: Zum aktualisieren des ganzen Dokuments, um auch die Änderungen an den abhängigen Geometrien darzustellen.
Zwei Hälften eines Klipp-Objekts warten darauf mit dem Filmscharnier verbunden zu werden, eine an der statischen Seite und eine auf der beweglichen Seite.
Zwei Hälften eines einfachen Klipps
Die statische Seite ist einfach:
Filmscharnier und statische Hälfte in Konstruktionslage → Filmscharnier mit versetzter und vereinigter statischer Hälfte
Aber die bewegliche Seite ist anders: die zugehörige Hälfte der Klippgeometrie muss in die richtige Lage bewegt werden, bevor die (Neu-) Berechnung einer Vereinigungsoperation gestartet wird.
An diesem Punkt vermisse ich eine Funktion "Befestigen mit Abstand" (Attachment with offset), wie die von Assembly3, zum Verknüpfen der Klippgeometrie mit einer der beweglichen Flächen. Aber nach etwas Herumprobieren und Feineinstellen habe ich herausgefunden:
Mit diesem Wissen im Hinterkopf könnte ein Arbeitsablauf so aussehen:
Die bewegliche Hälfte wird an einer Ecke der beweglichen Scharnierseite befestigt (Befestigungsmodus Ausrichten OXZ: Knoten, Kante, Kante)
Rückblickend betrachtet, wäre es weiser gewesen, die Geometrie zum Befestigen in der Zwischenskizze vorzugeben, um eine weitere Quelle des Problems der topologischen Benennung zu vermeiden.
Der Klipp bis hier hin und die bewegliche Hälfte in Konstruktionslage → der fertige Klipp mit der befestigten und
vereinigten beweglichen Hälfte
Jetzt sollte das Ergebnis ein Klipp sein, der nur aus einem Einzel-Festkörper besteht und der geschlossen und geöffnet werden kann, indem der BogenWinkel des Filmscharniers geändert wird. Die erlaubten Werte liegen zwischen 0.1° und 180°; der Filmabschnitt darf nicht gerade sein und mehr als geschlossen ist nicht sinnvoll. (Bei 180° kann das Objekt an berührenden oder überlappenden Flächen verschmelzen, aber eine kleine zusätzliche Lücke kann helfen, wenn dies nicht akzeptabel ist.)
Klipp fast geschlossen → Klipp halb geschlossen → Klipp in Werkzeuglage
(FIXME)